package org.bee.date;

import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * 时间工具类
 */
public class DateUtils {
    private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    private static final SimpleDateFormat DATE_TIME_FORMATTER2DATE = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    /**
     * 获取当前本地日期时间
     *
     * @return LocalDateTime
     */
    public static String getNow() {
        return DATE_TIME_FORMATTER.format(LocalDateTime.now());
    }

    /**
     * 时间格式化
     * @param localDateTime 时间格式
     * @return yyyy-MM-dd HH:mm:ss String
     */
    public static String format(LocalDateTime localDateTime) {
        return DATE_TIME_FORMATTER.format(localDateTime);
    }

    /**
     * 时间格式化
     * @param date 时间格式
     * @return yyyy-MM-dd HH:mm:ss String
     */
    public static String format(Date date) {
        return DATE_TIME_FORMATTER2DATE.format(date);
    }

    /**
     * 时间格式化
     * @param date 时间格式
     * @param format 时间格式
     * @return 符合时间格式的字符串 String
     */
    public static String format(Date date, String format) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
        return simpleDateFormat.format(date);
    }
}
